9. Wiki
http://qwik.jp/wiss-pc/FrontPage.html http://gyazo.com/13a6ebe0255f7b053ea9b9bbaa818678.png
https://gyazo.com/4fb00764c67fb8f2ad124a469453ce16
Various info on SFC
Moving out of hierarchy-based management
Handling filenames and folder names is difficult
Classifying everything is difficult
Hierarchy-oriented thinking
Try to classify everything
Put everything in the right place
"Spark joy" is difficult!
"Spark Joy"
Proposed by Marie Kondo (KonMari)
Put everything in appropriate places
https://gyazo.com/d396ae694d64d8ebcd1435dcb37365be
Problems of hierarchical data management
Difficult to select name
Difficult to design hierarchical structure
Classification difficult
"Bat problem"
Where should I put an info of "Inquiry of Product A of B corp"?
Difficult to manage the structure in the long run
Wiki
Edit Web document on browsers
Useful for sharing data on the Web
Easy to create links to other pages
Markup languages
A Wiki page example
http://qwik.jp/wiss-pc/FrontPage.html http://gyazo.com/13a6ebe0255f7b053ea9b9bbaa818678.png
Scrapbox
Real-time Wiki
Useful for various applications
5+ million pages (2020)
Wikipedia
MediaWiki-based Encycropedia
http://gyazo.com/05fc583bf16aee2c809bc0c6a07b290d.png
Wiki ≠ Wikipedia
Wikipedia is a MediaWiki-based encycropedia
We should not call Wikipedia as "wiki"
USB ≠ USB memory
ケータイ ≠ 携帯電話?
Markup languages
Specify formatting primitives in the text
TeX, HTML, etc.
Special tags
<b>text</b>
\bf{text}
Markup language for Wikipedia
Markup language for Scrapbox
Advantages of Wiki
Sharing information easily
Available anywhere
HTML knowledge not required
c.f. Saving data on the Web
Dropbbox
Amazon S3
Evernote
c.f. Sharing data on the Web
Google Docs
Editing HTML on browser
Old browsers had editing features
Policy of Tim Berners-Lee
Until Netscape Composer
Tim Berners-Lee
https://gyazo.com/25cfad40dd9d6a1a4ee08f4b59618d6d
Inventor of the Web
Invented basic technologies of World Wide Web
HTTP-related technologies
http://gyazo.com/f96346d28ad446e292048b0b5314f74e.png
SeaMonkey
https://gyazo.com/9d945a4d65beb06ac75c0533b399aecb
History of Wiki
1991 WWW invented
1993 NCSA Mosaic
(Wiki Wiki Web)
http://gyazo.com/f7d8abafec50d64da03df308c9e599a3.png
Created by Ward Cunningham
331 lines in Perl
'Literate programming' style
Use "CamelCase" for a link to another page
e.g. WikiName
Automatically becomes a link
Wiki Wiki bus at Honolulu airport
http://gyazo.com/c729cfd5488d9d8f4d825ca25510e1d3.png
Wiki Wiki bus
http://gyazo.com/43a24d49bddd2d237b768bfb82d67921.png
Ward Cunningham
Wiki, Design Pattern, Extreme Programming (XP)
http://gyazo.com/1e5d8060ae0bbd4ecec9c1b05f83d64d.png
Wiki Wiki Web
http://gyazo.com/f7d8abafec50d64da03df308c9e599a3.png
Wiki Wiki Web
http://gyazo.com/69d068bb952f48a0b1ed37a8b6176af6.png
Scrapbox page by Nishio-san
https://scrapbox.io/nishio/ https://gyazo.com/cf98e03cc01e0951c2650a9f83893d84
Many interesting articles on wiki
All wiki pages are "work in progress"
Editable at any time
Like a well-maintained software
Always up-to-date
http://gyazo.com/3aed10a801567acbbfbc6139444679ac.png
Wikipediaに代表される「Wiki」は、多くの人々に使われるソフトウェアに成長しました。
「XP(エクストリームプログラミング)」は、現在主流となりつつあるアジャイルな開発方法論です。
設計の定石集である「デザインパターン」は、今や開発者の必須知識となっています。
Wiki、XP、デザインパターン。一見、何の関係もなさそうに思えるこの3つは、実は同じ起源から発生した兄弟です。
しかもその起源は、ソフトウェア開発とは何の関係もない異分野の人である、建築家クリストファー・アレグザンダーの理論に端を発しています。
本書では、アレグザンダー(パターンランゲージの発明者)、ウォード・カニンガム(Wikiの発明者)、ケント・ベック(XPの提唱者)らが織りなす40年の歴史物語を辿りながら、優れた創造を行うための共通原則に迫ります。
Comments from Mr. Eto
私は6年前よりWikiの設計思想について調べてきました。
建築家クリストファー・アレグザンダーの思想にその答えがありました。
アレグザンダーとWikiを巡る歴史物語をまとめた本を書くことができました。
「デザインパターンのどこがいいのかわからん!」
「XPって本当に役に立つの?」
「Wikiに何を書けばいいんだろう...」
そう思っているあなたへおすすめします。
デザインパターン
ソフトウェア開発におけるデザインパターン(型紙(かたがみ)または設計パターン、英: design pattern)とは、過去のソフトウェア設計者が発見し編み出した設計ノウハウを蓄積し、名前をつけ、再利用しやすいように特定の規約に従ってカタログ化したものである。
序章 パターン,Wiki,XPの起源へ
1章 クリストファー・アレグザンダーによる美の原理の追及
2章 アレグザンダーの6つの原理
3章 パターンランゲージ
4章 時を超えた建設の道
5章 パターンランゲージによる建築の実際
6章 アレグザンダーの現在
7章 オブジェクト指向
8章 ソフトウェア開発へのパターンの適用
9章 デザインパターン
10章 プロセスへのパターンの適用
11章 エクストリームプログラミング
12章 HyperCardによるパターンブラウザ
13章 WikiWikiWeb
14章 Wikiモードによるコミュニケーションパターン
15章 Wiki設計原則
16章 Wikiエンジン
17章 Wikipedia
18章 Wikiの現在
終章 時を超えた創造の原則
著者プロフィール
Problems of conventional Wiki
Mode change required (browse mode ⇔ edit mode)
Special tags should be remembered
Users cannot tell which portion is new
Difficult to change page title
All related pages should be fixed
Problems of Wiki
Not suitable for small text
Wiki pages tend to be large
Page structure should be designed carefully
Difficult to see the whole structure
Possibility of lonely pages
Wiki tags (markups)
Wiki extensions
Dynamic page creation
Creating pages by JavaScript
Paragraph-based Wiki
Wiki extensions
Reusing IF widgets
Post form
Voting button
Wiki on PDAs
e.g. PalmWiki
Integration with BBS
Simple wiki by Hiroshi Yuki
Written in Perl
More simple wiki by hiroshi Yuki
100 lines of Perl
PHP-based YukiWiki
Maintained by Mr. Masui
Wiki clones
Ruby-based wiki by
Hitoshi Takuchi
Ruby-based wiki by Seki-san
Wiki clones
Developed for Wikipedia
Popular wiki
Python
Wiki services
Wikia
7行Wiki
http://www.hyuki.com/dig/7wiki.html http://gyazo.com/d6758dbe6bc274b9892a60dab309e248.png
http://gyazo.com/9a65db95baedb0abb3e82a699c4dbe71.png
Comparison between Wiki and BBS
Wiki = "stock"-type data sharing
Join at any time
Old data disappear
BBS = "flow"-type data sharing
All data remain
Impossible to edit old data
Wiki-BBS
Integration of Wiki and BBS
http://gyazo.com/a8396b53cdf643f58203e81c1257fa4c.png
Wiki-type page
http://gyazo.com/1a3eb768b0ff56dd726573bc6c0aacbe.png
BBS-type page
http://gyazo.com/3d55b494968aafe9a404337a97c4bb44.png
Mailing list and wiki
Mailing list = flow communication
Wiki = stock communication
Why not integrating the two?
QuickML + Wiki
Use Wiki and QuickML at the same time
Stock info and flow info
http://i.gyazo.com/ea51bd3046b7eb70e99271cf1011f98f.png
qwikWeb
All ML articles are converted to Wiki pages
http://qwik.jp/yomoyomo/4.html http://gyazo.com/16ea9e50a500a96c08670b8d7dfa31a7.png
Problems of qwikWeb
Mail messages can be edited later
All messages are automatically converted to Web pages
Gyazz
http://gyazo.com/4f97f746d4804cc9fec11a22312b5bb7.png
Gyazz
Solving the shortcomings of wiki
Edit mode
"save" button
No reverse links
Complicated markup tags
Difficult to notice new lines
Gyazz
Auto save
Simple markups
Outline editing
Saving all histories
Incremental search
Automatic table
Icon notation
http://gyazo.com/b4742192e948f0abae9904d0234a6489.png
Can be used anywhere
Easy to follow links
Write programs on Gyazz pages
Word-connection info defined
http://gyazo.com/73e46f58850dd4f8b428123498a7f633.png
Used in various IMEs (text input systems)
Recommendation system in a small group
Use wikipages like Powerpoint
http://gyazo.com/613f38bec4f7ca69da5b44bbf7193d55.png
Scrapbox
https://gyazo.com/1b129045fcb1ea47afbbec786582d3b1
New implementation of Gyazz
Alexa value
https://gyazo.com/15cdc3e208ba46b1118522615d47d701
Number of pages
https://gyazo.com/b3c27981a7424a32b66462709c643049
Scrapbox users
Y-axis is in $ log scale
https://gyazo.com/e1ccc2dfbd1539170a4a529826788e64
Scrapbox examples
Using Scrapbox as a database
Photo management system
https://gyazo.com/6c38bf9efc85322860df98ff00370424
Scrapbox features
WYSIWYG realtime editing
Automatic data save
Simple and flexible markup tags
All tags are actually Scrapbox pages
Reverse links
Icon notations
Showing the age of each line
Presentation mode
c.f. Simultaneous editing
Etherpad
GoogleDocs
Dropbox Paper
Simple markups
[...] for linking information
Internal link
External link
[http://pitecan.com/ Pitecan] => Pitecan [Pitecan http://pitecan.com/] => Pitecan Image link
[https://embed.gyazo.com/2ca52bb6470dc8833878b0e1d59e3cce.png]
Powerful edit features
Emacs-like text editing
Outline editing
Easy to show images and videos
Icon notations
Problems of conventional Wiki
Mode change required (browse mode ⇔ edit mode)
Special tags should be remembered
Users cannot tell which portion is new
Difficult to change page title
All related pages should be fixed
Problems of Wiki
Not suitable for small text
Wiki pages tend to be large
Page structure should be designed carefully
Difficult to see the whole structure
Possibility of lonely pages
Escape from hierarchy-oriented thinking
Spending time for selecting file and folder names?
Having trouble for classification?
Scrapbox solves these problems
Hierarchy-oriented thinking
Try to classify everything
https://gyazo.com/c238908a9f35a58dfabefb37981e1134.png
Problems os herarchy-oriented thinking
Difficult to use appropriate names
Diffcult to design structure
Classification difficult
"Bat problem"
Where should I put an info of "Inquiry of Product A of B corp"?
Difficult to manage the structure in the long run
Solution by Scrapbox
Automatic clustering by writing links
No hierarcy at all, but management is easy
https://gyazo.com/a502af4baa283f227ed4d3dc577bb627.png
Wiki-like systems
Hondana.org
Chizucho.org
Editing pages without logging in
Sharing book information on the Web
http://gyazo.com/4401b49e940bb988040ec683a225ef3e.png
Sharing location-oriented info on the Web
Shops, POIs, restaurants
http://gyazo.com/c45569af74ed60dcf966b1f4ee6cc40b.png
Problems of Wiki systems
Many attacks from outside
Hondana.org was attacked severely in 2015/6
Not intuitive?
Wikipedia edit history
Edit history of "Abortion"
http://gyazo.com/47ba75aff16d3e1f511bf40da93dfb3e.png
Conclusions
Wiki is not popular except Wikipedia
Original wiki was not super easy
Various wiki services are used by maniac people
Modern wiki's are very useful
e.g. Scrapbox
Let's use Scrapbox!